<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.Platform.ReSharper.DocumentModel</name>
    </assembly>
    <members>
        <member name="T:JetBrains.DocumentModel.DocLineColumnRange">
            <summary>
            Ranges two <see cref="T:JetBrains.DocumentModel.DocumentCoords"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocLineColumnRange.#ctor(JetBrains.DocumentModel.DocumentCoords,JetBrains.DocumentModel.DocumentCoords)">
            <summary>
            Initializes a new instance of the <see cref="T:System.Object"/> class.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocLineColumnRange.#ctor(JetBrains.DocumentModel.DocumentCoords)">
            <summary>
            Creates a zero-length range at the given position.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocLineColumnRange.Equals(System.Object)">
            <summary>
            Indicates whether this instance and a specified object are equal.
            </summary>
            <returns>
            true if <paramref name="obj"/> and this instance are the same type and represent the same value; otherwise, false.
            </returns>
            <param name="obj">Another object to compare to. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DocumentModel.DocLineColumnRange.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer that is the hash code for this instance.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DocumentModel.DocLineColumnRange.Equals(JetBrains.DocumentModel.DocLineColumnRange)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <returns>
            true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
            </returns>
            <param name="other">An object to compare with this object.</param>
        </member>
        <member name="T:JetBrains.DocumentModel.DocumentChange">
            <summary>
            <para>Denotes a change to the document text.</para>
            <para>Possible changes are: characters inserted, characters deleted, characters replaced. All these are represented as replacements, eg deletion is replacing a range with an empty string, and insertion is replacing an empty range with some text.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentChange.#ctor(JetBrains.DocumentModel.IDocument,System.Int32,System.Int32,System.String,System.Int32)">
            <summary>
            This constructor is used for delta-changes
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentChange.Document">
            <summary>
            Gets the document affected by the change.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentChange.NewExtent">
            <summary>
            <para>The range of the replacement text.</para>
            <para>The range being removed by the replacement is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.OldLength"/>).</para>
            <para>The range of the new text after the replacement is performed is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.NewLength"/>).</para>
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentChange.NewLength">
            <summary>
            <para>Length of the affected text after the replacement is performed. Essentialy equal to the <see cref="P:JetBrains.DocumentModel.DocumentChange.NewText"/>'s <see cref="P:System.String.Length"/></para>
            <para>The range being removed by the replacement is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.OldLength"/>).</para>
            <para>The range of the new text after the replacement is performed is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.NewLength"/>).</para>
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentChange.NewText">
            <summary>
            <para>The replacement text.</para>
            <para>It is <see cref="P:JetBrains.DocumentModel.DocumentChange.NewLength"/> characters long and occupies the [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.NewLength"/>) range after the replacement is performed.</para>
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentChange.OldExtent">
            <summary>
            <para>The affected text range, before the replacement is performed.</para>
            <para>The range being removed by the replacement is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.OldLength"/>).</para>
            <para>The range of the new text after the replacement is performed is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.NewLength"/>).</para>
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentChange.OldLength">
            <summary>
            <para>Length of the affected text before the replacement is performed.</para>
            <para>The range being removed by the replacement is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.OldLength"/>).</para>
            <para>The range of the new text after the replacement is performed is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.NewLength"/>).</para>
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentChange.StartOffset">
            <summary>
            <para>Offset at which the replacement operation is performed.</para>
            <para>The range being removed by the replacement is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.OldLength"/>).</para>
            <para>The range of the new text after the replacement is performed is [<see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/>, <see cref="P:JetBrains.DocumentModel.DocumentChange.StartOffset"/> + <see cref="P:JetBrains.DocumentModel.DocumentChange.NewLength"/>).</para>
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentCoords.TryParse(System.String)">
            <summary>
            Try parse string representation of coordinates.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentCoords.TryParse(System.String,System.IFormatProvider)">
            <summary>
            Try parse string representation of coordinates.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentCoords.Parse(System.String)">
            <summary>
            Parse string representation of coordinates.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentCoords.Equals(JetBrains.DocumentModel.DocumentCoords)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <returns>
            true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
            </returns>
            <param name="other">An object to compare with this object.</param>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentCoords.Equals(System.Object)">
            <summary>
            Indicates whether this instance and a specified object are equal.
            </summary>
            <returns>
            true if <paramref name="obj"/> and this instance are the same type and represent the same value; otherwise, false.
            </returns>
            <param name="obj">Another object to compare to. </param><filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentCoords.GetHashCode">
            <summary>
            Returns the hash code for this instance.
            </summary>
            <returns>
            A 32-bit signed integer that is the hash code for this instance.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentCoords.Line">
            <summary>
            Zero-based line of the document. VS displays one-based line numbers, so add 1 to get consistent result.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.DocumentCoords.Column">
            <summary>
            Zero-based column of the document. VS displays one-based column numbers, so add 1 to get consistent result.
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.DocLine">
            <summary>
            Type disambig for <see cref="T:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1"/>.
            Represents zero-based line indices in the document stream.
            This does not correspond directly to the text control view lines and columns because of the collapsed regions and other view transformations.
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.DocColumn">
            <summary>
            Type disambig for <see cref="T:JetBrains.Util.dataStructures.TypedIntrinsics.Int32`1"/>.
            Represents zero-based column indices in the document stream.
            This does not correspond directly to the text control view lines and columns because of the collapsed regions and other view transformations.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentFactory.CreateShellDocumentFromText(System.String,System.String,System.Func{JetBrains.DocumentModel.IDocument,JetBrains.Util.ModificationCookie})">
            <summary>
            Creates an <see cref="T:JetBrains.DocumentModel.IDocument"/> from the given text.
            The document implementation is specific to the Shell. In tests, this is the same as <see cref="M:JetBrains.DocumentModel.DocumentFactory.CreateSimpleDocumentFromText(System.String,System.String,System.Func{JetBrains.DocumentModel.IDocument,JetBrains.Util.ModificationCookie})"/>. In Visual Studio, this is a VS Text Buffer.
            </summary>
            <param name="text">Document text.</param>
            <param name="moniker">Document moniker that uniquely identifies this document.</param>
            <param name="ensureWritableHandler">Queries whether the document is allowed to be written.</param>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentFactory.CreateSimpleDocumentFromFile(JetBrains.Util.FileSystemPath)">
            <summary>
            Creates an <see cref="T:JetBrains.DocumentModel.IDocument"/> from the text if the given file. The file encoding is retained so that it could be re-applied when the file is saved.
            This is always the simple implementation of the standalone string-based document.
            The file path is used as the document moniker.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentFactory.CreateSimpleDocumentFromText(System.String,System.String)">
            <summary>
            Creates an <see cref="T:JetBrains.DocumentModel.IDocument"/> from the given text.
            This is always the simple implementation of the standalone string-based document.
            </summary>
            <param name="text">Document text.</param>
            <param name="moniker">Document moniker that uniquely identifies this document.</param>
        </member>
        <member name="M:JetBrains.DocumentModel.DocumentFactory.CreateSimpleDocumentFromText(System.String,System.String,System.Func{JetBrains.DocumentModel.IDocument,JetBrains.Util.ModificationCookie})">
            <summary>
            Creates an <see cref="T:JetBrains.DocumentModel.IDocument"/> from the given text.
            This is always the simple implementation of the standalone string-based document.
            </summary>
            <param name="text">Document text.</param>
            <param name="moniker">Document moniker that uniquely identifies this document.</param>
            <param name="ensureWritableHandler">Queries whether the document is allowed to be written.</param>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.GetCoordsByOffset(System.Int32)">
            <summary>
            <para>Gets document coordinates (line and column) by flat document offset.</para>
            <para>The column number is forced within line length limits (inclusive) in case the offset falls on the line-break characters. In this case the offset/line-col might not roundtrip.</para>
            </summary>
            <param name="offset">Offset in document, must be non-negative and less than or equal to <see cref="M:JetBrains.DocumentModel.IDocument.GetTextLength">document text length</see>.</param>
            <returns>DocumentCoords.</returns>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.GetOffsetByCoords(JetBrains.DocumentModel.DocumentCoords)">
            <summary>
            Gets offset in document by document coordinates (line and column)
            </summary>
            <param name="coords">Coordinates in document</param>
            <returns>offset in document, or -1 if coordinates are not within the document</returns>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.GetLineStartOffset(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{JetBrains.DocumentModel.DocLine})">
            <summary>
            Gets the start offset of the given line.
            </summary>
            <param name="line">Line number.</param>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.GetLineEndOffsetNoLineBreak(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{JetBrains.DocumentModel.DocLine})">
            <summary>
            Gets the end offset of the given line.
            The possible line-break characters at the end of the line are not included by this method.
            </summary>
            <param name="line">Line number.</param>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.GetLineCount">
            <summary>
            <para>Gets the number of lines in the document.</para>
            <para>This is the maximum possible line number (non-inclusive) for methods that take a line number.</para>
            <para>A document has at least one line. An empty document has exactly one zero-length line.</para>
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.GetTextLength">
            <summary>
            Gets the number of characters in the document. This is the maximum possible offset (inclusive) for methods that take an offset, including <see cref="T:JetBrains.Util.TextRange">text ranges</see>.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.EnsureWritable">
            <summary>
            Use <see cref="!:IDocumentEx.EnsureWritable"/> wherever possible.
            Get clearance for write access to the docment, for example, at the Source Code Control.
            You MUST scope document modifications with the return value of this method (dispose of the return value when done).
            </summary>
            <returns>The cookie that must be disposed of immediately after you're done with writing to the document. You're only allowed to write while it's alive and if its <see cref="P:JetBrains.Util.ModificationCookie.EnsureWritableResult"/> is <see cref="F:JetBrains.Util.EnsureWritableResult.SUCCESS"/>.</returns>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.ContainsReadOnlyRegions">
            <summary><seealso cref="M:JetBrains.DocumentModel.IDocument.MakeReadonly(JetBrains.Util.TextRange)"/>
            Checks whether portions of the document are locked from being edited.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.MakeReadonly(JetBrains.Util.TextRange)">
            <summary><seealso cref="M:JetBrains.DocumentModel.IDocument.ContainsReadOnlyRegions"/>
            Locks a document range temporarily to prevent it from being edited. To unlock, dispose of the return value.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.IDocument.GetLineLength(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{JetBrains.DocumentModel.DocLine})">
            <summary>
            Gets the length of the document line.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.IDocument.Moniker">
            <summary>
            Gets the document moniker (an arbitrary string that helps with identifying this document).
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.IDocument.DocumentRange">
            <summary>
            Gets the whole range of the document, from <c>0</c> to <see cref="M:JetBrains.DocumentModel.IDocument.GetTextLength"/>.
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.Impl.DocumentBase">
            <summary>
            Base class for document implementations
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.DocumentBase.myActionsToExecuteAfterChange">
            <summary>
            Non-thread-safe init, changes are primary-thread-related only.
            Lazy: this field n/a when document is used from PSI for readonly background access.
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.DocumentBase.myDocumentChangedEventDispatcher">
            <summary>
            Lazy: this field n/a when document is used from PSI for readonly background access.
            Thread-safe init required: even though changes would only fire on the Write-Lock Thread, sometimes PSi would sink this event from secondary threads, eg on Generated Documents.
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.DocumentBase.myBeforeDocumentChangedEventDispatcher">
            <summary>
            Lazy: this field n/a when document is used from PSI for readonly background access.
            Thread-safe init required: even though changes would only fire on the Write-Lock Thread, sometimes PSi would sink this event from secondary threads, eg on Generated Documents.
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.DocumentBase.myRangeMarkers">
            <summary>
            Thread safety: markers could possible be accessed from any thread (as of 2009-10 as they're VS-based it's unprobable, but this operation is rare and should better be protected).
            Lazy: this field n/a when document is used from PSI for readonly background access.
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.DocumentBase.myLineIndex">
            <summary>
            Maps lines to their flat offsets. Lazy-inited when first requested.
            Free-threaded access, must be init-protected.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentBase.ExpectCallbacksFromUnderlyingStore(System.Action)">
            <summary>
            For documents that are wrapping some underlying store (eg Visual Studio documents over Text Buffers), marks a state when we expect modification callbacks from the underlying store.
            This relaxes some limitations on document modifications, as those are actual changes to the underlying store we MUST apply to be in sync.
            The limitations include eg Modification Cookies that must be taken for all file-based documents on the Solution so that they could be cleared with SCC. These do not apply when the changes are coming from the underlying store.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentBase.HandleDocumentChange(JetBrains.DocumentModel.DocumentChange,System.Int32,System.Boolean)">
            <summary>
            Derived classes MUST call this method in their InsertText, ReplaceText and DeleteText implementations.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentBase.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentBase.MakeReadonly(JetBrains.Util.TextRange)">
            <summary>
            Locks a document range temporarily to prevent it from being edited. To unlock, dispose of the return value.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentBase.AssertOnDocumentModification">
            <summary>
            Called by document implementations when they'd like to modify the document to assert that modification is allowed at the moment.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.DocumentBase.IsExpectingCallbacksFromUnderlyingStore">
            <summary>
            For documents that are wrapping some underlying store (eg Visual Studio documents over Text Buffers), marks a state when we expect modification callbacks from the underlying store.
            This relaxes some limitations on document modifications, as those are actual changes to the underlying store we MUST apply to be in sync.
            The limitations include eg Modification Cookies that must be taken for all file-based documents on the Solution so that they could be cleared with SCC. These do not apply when the changes are coming from the underlying store.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.DocumentBase.Moniker">
            <summary>
            Gets the document moniker (an arbitrary string that helps with identifying this document).
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.DocumentBase.DocumentRange">
            <summary>
            Gets the whole range of the document, from <c>0</c> to <see cref="M:JetBrains.DocumentModel.Impl.DocumentBase.GetTextLength"/>.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.StandaloneDocumentFactory.CreateShellDocumentFromText(System.String,System.String,System.Func{JetBrains.DocumentModel.IDocument,JetBrains.Util.ModificationCookie})">
            <summary>
            Creates an <see cref="T:JetBrains.DocumentModel.IDocument"/> from the given text.
            The document implementation is specific to the Shell. In tests, this is the same as <see cref="M:JetBrains.DocumentModel.DocumentFactory.CreateSimpleDocumentFromText(System.String,System.String,System.Func{JetBrains.DocumentModel.IDocument,JetBrains.Util.ModificationCookie})"/>. In Visual Studio, this is a VS Text Buffer.
            </summary>
            <param name="text">Document text.</param>
            <param name="moniker">Document moniker that uniquely identifies this document.</param>
            <param name="ensureWritableHandler">Queries whether the document is allowed to be written.</param>
        </member>
        <member name="T:JetBrains.DocumentModel.Impl.StandaloneDocument">
            <summary>
            Document implementation
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.StandaloneDocument.MakeReadonly(JetBrains.Util.TextRange)">
            <summary>
            Locks a document range temporarily to prevent it from being edited. To unlock, dispose of the return value.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.StandaloneDocument.Moniker">
            <summary>
            Gets the document moniker (an arbitrary string that helps with identifying this document).
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentUtil.ReadTextFromFile(JetBrains.Util.FileSystemPath,System.Boolean)">
            <summary>
            Reads text from a file on disk.
            </summary>
            <param name="path">The file to read.</param>
            <param name="bFailOnErrors">Whether to throw on failures (eg missing file), otherwise, an empty string will be returned.</param>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentUtil.ReadTextFromFile(JetBrains.Util.FileSystemPath,System.Boolean,System.Text.Encoding@)">
            <summary>
            Reads text from a file on disk.
            </summary>
            <param name="path">The file to read.</param>
            <param name="bFailOnErrors">Whether to throw on failures (eg missing file), otherwise, an empty string will be returned.</param>
            <param name="encoding">Detected file encoding</param>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.DocumentUtil.SaveDocumentToFile(JetBrains.DocumentModel.IDocument,JetBrains.Util.FileSystemPath)">
            <summary>
            May throw IOException, SecurityException etc
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.Impl.EditableBuffer">
            <summary>
            IEditableBuffer implementation
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.EditableBuffer.myInsertPoint">
            <summary>
            Point where we expect text to be inserted
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.EditableBuffer.myInsertBuffer">
            <summary>
            Buffer to hold the subsequent characters being inserted
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.EditableBuffer.myText">
            <summary>
            The rest of the text except for the insert point
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.Impl.LineIndex">
            <summary>
            <para>Array-based implementation of line index.</para>
            <para>Mapping between one-dimensional (offsets) to two-dimensional (lines and columns) coordinate systems.</para>
            <para>This class is not thread-safe, the caller should take care of locking the read and write operations apart. This class has no implicit writes on reads.</para>
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.LineIndex.myLineSegments">
            <summary>
            Maps line number to TextRange containing start and end offsets of the line.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.LineIndex.GetLineColByOffset(System.Int32)">
            <summary>
            Gets line-col by the flat document offset.
            The column number is forced within line length limits (inclusive) in case the offset falls on the line-break characters. In this case the offset/line-col might not roundtrip.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.LineIndex.GetLineText(JetBrains.Util.dataStructures.TypedIntrinsics.Int32{JetBrains.DocumentModel.DocLine})">
            <summary>
            Gets the text of the line, not including any line break characters.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.LineIndex.UpdateByChange(JetBrains.DocumentModel.DocumentChange)">
            <summary>
            Accomodates a document change incrementally
            </summary>
            <param name="args"></param>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.LineIndex.FindLineByOffset(System.Collections.Generic.List{JetBrains.DocumentModel.Impl.LineSegment},System.Int32)">
            <summary>
            Binary-searches the line segments.
            Static because it cannot rely on object state (eg myBuffer) because the state could be inconsistent due to a text change being accomodated (when buffer is already changed and segments array is not yet).
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.LineIndex.RebuildIndex(JetBrains.Util.TextRange)">
            <summary>
            Rebuilds a part of the index (or the whole index). 
            </summary>
            <param name="rangeWholeLines">The part to rebuild. Range ends must be at start offsets of some lines (or end-offset-with-line-break, which is the same).</param>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineIndex.LineCount">
            <summary>
            The number of lines in the index. There's always at least one line.
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.LineSegment.ToString">
            <summary>
            Returns the fully qualified type name of this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> containing a fully qualified type name.
            </returns>
            <filterpriority>2</filterpriority>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineSegment.EndOffsetNoLineBreak">
            <summary>
            Index after the last non-line-break character of the line. This denotes the line length.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineSegment.EndOffsetWithLineBreak">
            <summary>
            Index after the last character of the line, including any line break characters it has.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineSegment.ExtentNoLineBreak">
            <summary>
            Gets the line extent, not including the line break characters.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineSegment.ExtentWithLineBreak">
            <summary>
            Gets the line extent, including the line break characters.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineSegment.LengthNoLineBreak">
            <summary>
            Gets the number of non-line-break characters in the line.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineSegment.LengthWithLineBreak">
            <summary>
            Gets the number of characters in the line, including the line break characters.
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.LineSegment.StartOffset">
            <summary>
            Index of the first character in the line.
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.Impl.RangeMarker">
            <summary>
            Implementation of the <see cref="T:JetBrains.DocumentModel.IRangeMarker"/> interface.
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.IRangeMarker">
            <summary>
            Represents a common interface for range markers
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.IRangeMarker.Range">
            <summary>
            Gets the current text range corresponding to the range marker
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.IRangeMarker.Document">
            <summary>
            Gets the associated document
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.IRangeMarker.IsValid">
            <summary>
            Gets or set a value indicating whether the range marker is valid
            <remarks>Setting works only for invalidating marker</remarks>
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.IRangeMarker.IsGreedyToLeft">
            <summary>
            Indicates whether the range market is greedy to left
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.IRangeMarker.IsGreedyToRight">
            <summary>
            Indicates whether the range market is greedy to right
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.RangeMarker.myDocument">
            <summary>
            The associated document
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.RangeMarker.myRange">
            <summary>
            Current range
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.RangeMarker.myIsValid">
            <summary>
            Indicates whether the range marker is valid or not
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.RangeMarker.myIsGreedyToLeft">
            <summary>
            Idicates whether the range marker is greedy to left
            </summary>
        </member>
        <member name="F:JetBrains.DocumentModel.Impl.RangeMarker.myIsGreedyToRight">
            <summary>
            Indicates whether the range marker is greedy to right
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.RangeMarker.#ctor(JetBrains.DocumentModel.IDocument,JetBrains.Util.TextRange)">
            <summary>
            Creates a new range marker
            </summary>
            <param name="document">The document to attach to</param>
            <param name="range">Initial range</param>
            <exception cref="T:System.ArgumentNullException"><i>document</i> is null.</exception>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.RangeMarker.DocumentChanged(JetBrains.DocumentModel.DocumentChange)">
            <summary>
            Handles document modifications
            </summary>
        </member>
        <member name="M:JetBrains.DocumentModel.Impl.RangeMarker.NotifyDocumentChanged(JetBrains.DocumentModel.DocumentChange,System.Int32)">
            <summary>
            Notifies a range marker about document change
            </summary>
        </member>
        <member name="P:JetBrains.DocumentModel.Impl.RangeMarker.IsValid">
            <summary>
            Gets or set a value indicating whether the range marker is valid
            <remarks>Setting works only for invalidating marker</remarks>
            </summary>
        </member>
        <member name="T:JetBrains.DocumentModel.IRangeMarkerTipProvider">
            <summary>
            Provider for tool-tips appearing when the mouse cursor hovers over the area covered by a range marker
            </summary>
        </member>
    </members>
</doc>
